package gamefw.uiplugin;

import gamefw.framework.Coordinate;

public interface IOutputManager {

	/**
	 * Do begin drawing of the game board, etc.
	 * Called by the game logic's draw method.
	 */
	public void beginDraw();
	
	/**
	 * Finish drawing of the game board, etc.
	 * Called by the game logic's draw method.
	 */
	public void endDraw();

	/**
	 * Draw a drawble entity (board or game entity)
	 * 
	 * @param offset x and y offset to draw
	 * @param drawable the object which will be drawn
	 */
	public void draw(Coordinate offset, IVisualResource drawable);
	
	/**
	 * Print a string (general purpose)
	 * 
	 * @param message the message to be shown to the user
	 */
	public void printString(String message);
}
